package com.brillilab.service.core.inventory;

import com.brillilab.domain.enums.inventory.InventoryShareEnum;
import com.brillilab.domain.po.inventory.InventoryShare;
import com.brillilab.domain.po.inventory.ReagentInventory;
import com.brillilab.domain.vo.inventory.InventoryShareVo;

import java.util.List;

/**
 * @author wuzhiyu
 * @Title: IInventoryShareService
 * @ProjectName brill_lab
 * @Description: TODO
 * @date 2018/11/209:25
 */
public interface IInventoryShareService {
    /**
     * @return java.util.List<com.brillilab.domain.po.inventory.ReagentInventory>
     * @Description: TODO
     * @Params: [labMemberId, shareEnum, inventoryIsDelete]
     * @author wuzhiyu
     * @date 2018/11/21 10:22
     */
    List<ReagentInventory> getShareToMeInventoryList(Long labMemberId, InventoryShareEnum shareEnum, Integer inventoryIsDelete);

    /**
     * @return com.brillilab.domain.po.inventory.InventoryShare
     * @Description: TODO
     * @Params: [shareId]
     * @author wuzhiyu
     * @date 2018/11/21 10:30
     */
    InventoryShare get(Long shareId);

    /**
     * @return java.lang.Integer
     * @Description: TODO
     * @Params: [share]
     * @author wuzhiyu
     * @date 2018/11/21 10:34
     */
    Integer updateById(InventoryShare share);

    /**
     * @return java.lang.Integer
     * @Description: TODO
     * @Params: [shareList]
     * @author wuzhiyu
     * @date 2018/11/21 16:28
     */
    Integer addList(List<InventoryShare> shareList);

    /**
     * @return java.util.List<com.brillilab.domain.vo.inventory.InventoryShareVo>
     * @Description: TODO
     * @Params: [labMemberId]
     * @author wuzhiyu
     * @date 2018/11/21 16:43
     */
    List<InventoryShareVo> myShareList(Long labMemberId);
}
